Automatic software model checking via constraint logic
نویسنده
چکیده
This paper proposes the use of constraint logic to perform model checking of imperative, infinite-state programs. We present a semantics-preserving translation from an imperative language with recursive procedures and heap-allocated mutable data structures into constraint logic. The constraint logic formulation provides a clean way to reason about the behavior and correctness of the original program. In addition, it enables the use of existing constraint logic implementations to perform bounded software model checking, using a combination of symbolic reasoning and explicit path exploration.
منابع مشابه
Automatic Software Model Checking Using CLP
This paper proposes the use of constraint logic programming (CLP) to perform model checking of traditional, imperative programs. We present a semantics-preserving translation from an imperative language with heap-allocated mutable data structures and recursive procedures into CLP. The CLP formulation (1) provides a clean way to reason about the behavior and correctness of the original program, ...
متن کاملMay/Must Abstraction-Based Software Model Checking for Sound Verification and Falsification
Three-valued models, in which properties of a system are either true, false or unknown, have recently been advocated as a better representation for reactive program abstractions generated by automatic techniques such as predicate abstraction. Indeed, for the same cost, model checking three-valued abstractions, also called may/must abstractions, can be used to both prove and disprove any tempora...
متن کاملSoftware Model Checking via Iterative Abstraction Refinement of Constraint Logic Queries
Existing predicate abstraction tools rely on both theorem provers (to abstract the original program) and model checkers (to check the abstract program). This paper combines these theorem proving and model checking components in a unified algorithm. The correctness of the original, infinite-state program is expressed as a single query in constraint logic, which is sufficiently expressive to enco...
متن کاملARMC: The Logical Choice for Software Model Checking with Abstraction Refinement
Software model checking with abstraction refinement is emerging as a practical approach to verify industrial software systems. Its distinguishing characteristics lie in the way it applies logical reasoning to deal with abstraction. It is therefore natural to investigate whether and how the use of a constraint-based programming language may lead to an elegant and concise implementation of a prac...
متن کاملAutomatic verification of timed concurrent constraint programs
The language Timed Concurrent Constraint (tccp) is the extension over time of the Concurrent Constraint Programming (cc) paradigm that allows us to specify concurrent systems where timing is critical, for example reactive systems. Systems which may have an infinite number of states can be specified in tccp. Model checking is a technique which is able to verify finite-state systems with a huge n...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Sci. Comput. Program.
دوره 50 شماره
صفحات -
تاریخ انتشار 2004